home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / flex_247.zip / flex_247 / MISC / VMS / VMS.stuff < prev   
Text File  |  1990-11-20  |  3KB  |  63 lines

  1. (Message inbox:115)
  2. Date:  Tue, 20 Nov 90 14:45 EDT
  3. From:  Stu McGraw <SYSMAN%hilbert@gte.com>
  4. Subject:  Flex bug and fix
  5. To:  vern@cs.cornell.edu
  6. X-Vms-To:  IN%"vern@cs.cornell.edu"
  7.  
  8. Hi Vern,
  9.  
  10.     I just installed (on VMS) the new version of flex (2.3.6) that 
  11. was posted to usenet recently.  Thanks!  You did a terrific job!  I've
  12. been using an older version but really needed the eight-bit support.
  13.  
  14. I did come across a minor bug though.  On VMS, when you do a "flex -pv 
  15. foo" and foo doesn't exist, you get an access violation (due to deref-
  16. rencing a null pointer) when flexend() tries to print statistics, some 
  17. of which (e.g the starting time) have not been initialized yet.  I fixed
  18. this in my version by setting a boolean at the end of flexinit() and 
  19. only doing the printstats stuff if it is set (on the theory that this
  20. is more reliable than trying to maintain the ordering of everything
  21. or checking each pointer for null individually.)
  22.  
  23. I also added a VMS-style command line interface (like the one bison 
  24. has) that you might want to include in future versions.  I don't know 
  25. how interested you are in providing VMS suppport (probably not very!) 
  26. so I packaged it so that changes to your code are minimal (a few lines 
  27. changed in main.c along with the bug fix mentioned above, and a few new 
  28. VMS specific files).  The VMS files could be segregated in ./MISC or a 
  29. ./VMS subdirectory.  The VMS command line change in main.c is #ifdef'd
  30. so that it can be compiled for that or for the original unix-style 
  31. interface.
  32.  
  33. I reworked the VMS makefile so that one can build flex with either the 
  34. unix-style command line interface (as it is now) or with the VMS-style 
  35. command line interface by selecting a few defines.  I also have a VMS 
  36. help file entry derived from flex.man (after many hours of editing!).
  37.  
  38. Finally, a request for a minor change for future distributions.  Would
  39. it be possible to include in the package pre-formatted versions of 
  40. flex.1 and flexdoc.1 (flex.man and flexdoc.man)?  Your makefile has 
  41. a target ("vms") to make flex.man.  If this was a dependent of "distrib" 
  42. rather than the other way around this would happen automatically.  Of 
  43. course, then these files would also be included in the distribution for 
  44. unix sites but the unix makefile could include "rm *.man" in some target 
  45. involved in building flex to get rid of them.  Also, when formatting the 
  46. man pages for VMS, piping the nroff output through "col -b" removes the 
  47. back-spaces, at least on our Ultrix system here, and makes the files much
  48. more useful on non-unix systems.  I would have made these changes to the 
  49. makefile myself and provided a diff for you but I'm not a very expert 
  50. unix user and you I'm sure have a much better chance of doing it right!
  51.  
  52. If your interested, I'll be happy to send you this stuff.  I shouldn't
  53. require much effort on your part -- a small context diff for main.c, 
  54. everthing else can just be dumped in a flex subdirectory.  It includes 
  55. copeious (sorry about the spelling) documentation.
  56.  
  57. Thanks again,
  58.                             -- Stu
  59. --
  60. Stuart McGraw           sjm0@gte.com
  61. GTE Labs, Waltham MA    mcgraw@hilbert.gte.com
  62. (617) 466-2525          {hsuc6,harvard}!bunny!hilbert.gte.com!mcgraw
  63.